#ifndef MENU_HH
#define MENU_HH

#include <string>
#include <vector>
#include "Room.hh"
#include "Character.hh"

class Menu {
private:
    Room* currentRoom;
    Character* player;
public:
    Menu();
    ~Menu();
    Menu(const Menu& other); // Copy constructor
    Menu& operator=(const Menu& other); // Copy assignment operator

    void displayRoomMenu();
    void displayInventoryMenu();
    void displayStatsMenu();
    void displayTakeItemMenu();
    void displayAttackEnemyMenu();
    void displayBattleMenu(ICharacter& enemy);

    static void clearScreen();
    Menu(Room* room, Character* character);
    void setCurrentRoom(Room* room);
    void displayMenu();
    int getPlayerChoice();
};

#endif // MENU_HH